#include <iostream>
#include <string>
#include <ctemplate/template.h>

int main()
{
    std::string in_html = "./test.html";
    std::string value = "比特就业课";

    // 形成数据字典
    ctemplate::TemplateDictionary root("test"); //unordered_map<> test;
    root.SetValue("key", value);                //test.insert({});

    // 获取被渲染网页对象
    ctemplate::Template *tpl = ctemplate::Template::GetTemplate(in_html, ctemplate::DO_NOT_STRIP);

    // 添加字典数据到网页中
    std::string out_html;
    tpl->Expand(&out_html, &root);

    //完成了渲染
    std::cout << out_html << std::endl;
}





// #include <boost/algorithm/string.hpp>
// int main()
// {
//     std::string str = "1 2 3 4 5 6 8 7 4 2";
//     std::vector<std::string> tokens;
//     boost::split(tokens, str, boost::is_any_of(" "), boost::algorithm::token_compress_on);

//     for(auto &e : tokens)
//     {
//         std::cout<< e <<std::endl;
//     }

//     return 0;
// }

// #include <sys/time.h>
// #include <sys/resource.h>
// #include <unistd.h>
// #include <signal.h>
// #include <string>
// #include <jsoncpp/json/json.h>

// int main()
// {
//     // 序列化的工作
//     // value是一个json中间类，可以填充kv
//     Json::Value root;
//     root["code"] = "mycode";
//     root["user"] = "lll";
//     root["age"] = "22";

//     Json::StyledWriter writer;
//     std::string str = writer.write(root);  // 进行序列化
//     std::cout<< str <<  std::endl;
// }

// void handler(int signal)
// {
//     std::cout<< "signal: " << signal <<std::endl;
//     exit(1);
// }

// int main()
// {
//     // for(int i =0 ;i < 31; i++)
//     // {
//     //     signal(i, handler);
//     // }
//     // // 限制累计运行时长
//     // struct rlimit r;
//     // r.rlim_cur = 1;
//     // r.rlim_max = RLIM_INFINITY;
//     // setrlimit(RLIMIT_CPU, &r);
//     // while(1);

//     // // 限制空间申请
//     // struct rlimit r;
//     // r.rlim_cur = 1024*1024*40; 
//     // r.rlim_max = RLIM_INFINITY;
//     // setrlimit(RLIMIT_AS, &r);

//     // int count = 0;
//     // while(true)
//     // {
//     //     int* p = new int[1024*1024];
//     //     count++;
//     //     std::cout<<"size: "<<count<<std::endl;
//     //     sleep(1);
//     // }
//     return 0;
// }